package com.clstu.samllchange.smallchangeoop;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class SmallChangeOop {
    //属性
     Scanner myScanner = new Scanner(System.in);
     String op="";
     boolean loop=true;
     String detail="-----------零钱通明细-----------";
     String item="";
     String exit="";
     double money=0;
     double balance=0;
     double cost=0;
     Date date=new Date();//时间/日期，获取当前时间，默认是外国的格式
     SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");//括号的内容表示修改的时间格式
    // System.out.println(sdf.format(date));//调用sdf的format方法，对日期对象进行格式化（即修改它的格式）


    public void mainMenue(){
        do{
            System.out.println("\n============零钱通菜单(oop版本)===========");
            System.out.println("\t\t\t1.零钱通明细");
            System.out.println("\t\t\t2.收益入账");
            System.out.println("\t\t\t3.消费");
            System.out.println("\t\t\t4.退出");
            op=myScanner.next();
            switch(op){
                case "1":
                    System.out.println(detail);
                    break;
                case "2":
                    income();
                    break;
                case "3":
                    cost();
                    break;
                case "4":
                   exit();
                    break;
                default:
                    System.out.println("你的输入有误。。。");
                    break;
            }
        }while(loop==true);
    }
    public void detail(){
        System.out.println(detail);
    }
    public void income(){
        System.out.println("-----------收益入账-----------");
        System.out.println("请输入收益金额：");
        money=myScanner.nextDouble();
        if(money<=0){
            System.out.println("收益金额不正确，不能为负！");
            return;
        }
        balance+=money;
        date=new Date();
        detail+="\n收益入账： "+money+"\t  "+sdf.format(date)+"   余额：  "+balance;
    }
    public void cost(){
        System.out.println("-----------消费-----------");
        System.out.println("请输入消费金额：");
        cost=myScanner.nextDouble();
        System.out.println("备注：");
        item=myScanner.next();
        if(balance<cost){
            System.out.println("钱不够了，消费不起了，亲！！！！！！");
            return;
        }
        if(cost<=0){
            System.out.println("消费金额不正确，消费金额不能为0或者为负");
            return;
        }
        balance-=cost;
        date=new Date();
        detail+="\n"+item+"\t-"+cost+"\t  "+sdf.format(date)+"   余额：  "+balance;
    }
    public void exit(){
        System.out.println("-----------退出...-----------");
        System.out.println("确定要退出吗？（y/n)");
        exit=myScanner.next();
        while(!exit.equals("n")&&!exit.equals("N")&&!exit.equals("y")&&!exit.equals("Y")){
            System.out.println("输入有误，请重新输入");
            exit=myScanner.next();
        }

        if(exit.equals("n")||exit.equals("N")){
            return;
        }
        else{
            loop=false;
            return;
        }
            }
}
